package com.example.qxfw.dataBaseManager.service;

import com.example.qxfw.common.entity.JgInfo;
import com.example.qxfw.common.entity.RoadlineType;
import com.example.qxfw.common.entity.TrafficHightwayPnt;
import com.example.qxfw.common.entity.TravelPredict;
import com.example.qxfw.common.entity.qx.SmallScaleStation;
import com.example.qxfw.common.entity.qx.TownshipStation;
import com.example.qxfw.common.entity.zy.EnviroStation;
import com.example.qxfw.common.entity.zy.TourStations;
import com.example.qxfw.common.entity.zy.TrafficWeatherSta;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/************************************
 *
 * @author : HuangDeYin Jolly
 * @since : JDK 11
 * @Date : 2023/7/8  星期六   15:47
 * @description : 此类用来
 ***************************************/
public interface ProfessionalInformationService {

    List<EnviroStation> getEnviroStationRtrim();

    List<EnviroStation> judgeEnviroStation(String stationName);

    Integer saveEnviroStation(EnviroStation envirostation);

    Integer deleteEnviroStation(String stationName);

    Integer updateEnviroStation(EnviroStation envirostation);

    List<EnviroStation> getAllnviroStation();

    List<SmallScaleStation> getDistinctStationId();

    List<TownshipStation> getDistinctStationIdByCityFromTownShipStation(String city);

    List<TrafficHightwayPnt> getTrafficHightwayPntOrderById();

    List<TownshipStation> getTownShipStationByLongitude(String city,Double jd,Double wd);

    List<SmallScaleStation> getSmallScaleStationByLongitude(String city,Double jd,Double wd);

    List<TrafficHightwayPnt> getTrafficHightWayPntById(Integer id);

    Integer saveTrafficHightWayPnt(TrafficHightwayPnt trafficHightwayPnt);

    Integer updateTrafficHightWayPnt(TrafficHightwayPnt trafficHightwayPnt);

    Integer deleteTrafficHightWayPnt(Integer id);

    List<TrafficHightwayPnt> getTrafficHeightWayPntOrderById();

    List<RoadlineType> getDistinctRoadTypeFromRoadLineType();

    List<RoadlineType> getRoadLineTypeByRoadType(String roadType);

    Integer saveRoadLineType(RoadlineType roadlineType);

    Integer updateRoadLineType(RoadlineType roadlineType);

    Integer deleteRoadLineType(String roadType);

    List<JgInfo> getRtrimNameFromJgInfo(@Param("name") String name);

    Integer saveJgInfo(JgInfo jgInfo);

    Integer updateJgInfo(JgInfo jgInfo);

    Integer deleteJgInfo(String name);

    List<TourStations> getTourStations();

    List<TourStations> getTourStationsByStationName(String stationName);

    Integer saveTourStations(TourStations tourStations);

    Integer updateTourStations(TourStations tourStations);

    Integer deleteTourStations(String stationName);

    List<TravelPredict> selectDistinctJqNameFromTravelPredict();

    List<TravelPredict> selectDistinctSpotNameFromTravelPredict();

    List<TravelPredict> getAllTravelPredict();

    List<TravelPredict> queryTravelPredictLikeJqNameAndSpotName(String jqName,String spotName);

    List<TravelPredict> selectTravelPredictByJqnNameAndSpotName(String jqName,String spotName);

    Integer saveTravelPredict(TravelPredict travelPredict);

    Integer updateTravelPredict(TravelPredict travelPredict);

    Integer clearTravelPredict();

    List<TrafficWeatherSta> getTrafficWeatherStaOrderByStationId();

    List<TrafficWeatherSta> getTrafficWeatherStaByStationId(String stationId);

    Integer saveTrafficWeatherSta(TrafficWeatherSta trafficWeatherSta);

    Integer updateTrafficWeatherSta(TrafficWeatherSta trafficWeatherSta);

    Integer deleteTrafficWeatherSta(String stationId);


    List<TrafficWeatherSta> getAllTrafficWeatherSta();


    List<TrafficHightwayPnt> getAllTrafficHightWayPnt();
}
